var ObjectID = require('mongodb').ObjectID;
var mongodb = require('./db'),
    markdown = require('markdown').markdown;
var async = require('async');

function Comment(_id, comment) {
  this._id = _id;
  this.comment = comment;
}

module.exports = Comment;

//存储一条留言信息
Comment.prototype.save = function(callback) {
  var _id = this._id,
      comment = this.comment;

  async.waterfall([
      function(cb){
        mongodb.open(function( err, db){
          cb(err,db);
        });
      },
      function(db,cp){
        db.collection('posts', function(err,collection){
          cp(err,collection);
        });
      },
      function(collection, cp){
        collection.update({
          "_id": new ObjectID(_id)
        }, {
          $push: {"comments": comment}
        },function(err){
          cp(err);
        });
      }
    ],
    function(err){
      mongodb.close();
      err ? callback(err) : callback(null);
    }
  );
  //打开数据库
  /*mongodb.open(function (err, db) {
    if (err) {
      return callback(err);
    }
    //读取 posts 集合
    db.collection('posts', function (err, collection) {
      if (err) {
        mongodb.close();
        return callback(err);
      }
      //通过用户名、时间及标题查找文档，并把一条留言对象添加到该文档的 comments 数组里
      collection.update({
        "_id": new ObjectID(_id)
      }, {
        $push: {"comments": comment}
      } , function (err) {
          mongodb.close();
          if (err) {
            return callback(err);
          }
          callback(null);
      });   
    });
  });*/
};